package cn.qingyun.gis.modules.youshang.service;

import cn.qingyun.gis.modules.youshang.entity.YsChannelProofread;
import cn.qingyun.gis.modules.youshang.entity.dto.ExportChannelRecordDto;
import cn.qingyun.gis.modules.youshang.request.YsChannelRequest;
import cn.qingyun.gis.modules.youshang.request.YsProofreadRequest;
import cn.qingyun.gis.modules.youshang.request.YsQueryRequest;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 * 友商渠道勘误 服务类
 * </p>
 *
 * @author guest
 * @since 2023-09-12
 */
public interface IYsChannelProofreadService extends IService<YsChannelProofread> {

    /**
     * 初始化友商渠道勘误数据csv文件
     */
    void importYsChannelCsv0912(MultipartFile file);

    /**
     * 导出友商渠道勘误数据csv文件
     */
    void exportYsChannelCsv0912();

    /**
     * 格式化友商渠道勘误数据csv文件
     */
    void formattingYsChannelCsv0912();

    /**
     * 未勘误列表查询
     */
    IPage<YsChannelProofread> queryList(YsQueryRequest request);

    /**
     * 友商渠道勘误
     */
    String ysProofread(YsProofreadRequest request);


    /**
     * 友商渠道已勘误列表展示（联表查询）
     */
    IPage<YsChannelProofread> queryTotal(YsQueryRequest request);

    /**
     * 导出每日友商渠道勘误数据增量明细-在线下载
     *
     * @return
     */
    void exportYsChannelTotal(String cachePath, String fileName, String exportWay);

    /**
     * 匹配业务区划-网格、区县、地市编码
     */
    void matchGrid();

    /**
     * 根据工号权限返回 全量明细
     */
    void exportYsChannelExcel(HttpServletRequest request);

    IPage<ExportChannelRecordDto> analysisDataList(HttpServletRequest request, Page<ExportChannelRecordDto> page);

    void addYsChannel(YsChannelRequest ysChannelRequest);

    /**
     * 根据工号权限导出 友商渠道 【关门营业】状态下的门头照片
     */
    void exportYsPhotos();
    /**
     * @return
     * @description: 通过poiid删除数据
     * @author skb
     * @date 2024/5/24 10:30
     */
    int deleteByPoiId(MultipartFile file);
    /**
     * @description: 通过poiid更新数据
     * @author skb
     * @date 2024/5/24 11:13
     */
    int updateByPoiId(MultipartFile file);
}
